//
//  NSDate.swift
//  WYWeibo
//
//  Created by wangyi on 16/7/20.
//  Copyright © 2016年 wangyi. All rights reserved.
//

import UIKit

//kaolv 计算属性 - 每次滚动cell 的 都学要跟我们的当前时间进行对比
/*
把时间转化为字符串
逻辑:
如果是今年
判断是否是今天
判断是否在1 分钟之前
--刚刚
判断是否是在1 小时之前
-- xxx 分钟之前
其他
-- xx 小时之前
判断是否是昨天
如果不是今年
- 2015-10-29 10:10
*/
//
extension NSDate {

    class func sinaDate(createAtStr: String) -> NSDate {
        //  1. 转换成时间对象
        let dt = NSDateFormatter()
        //  指定格式化方式
        dt.dateFormat = "EEE MMM dd HH:mm:ss z yyyy"
        //  指定本地化信息
        dt.locale = NSLocale(localeIdentifier: "en_US")
        let createAtDate = dt.dateFromString(createAtStr)!
        
        return createAtDate

    }
    
    var sincedateString: String {
        
        //判断发布微博时间是否为零
        
        //代码执行到此 发送时间一定有值
        
        //Sat Jul 16 14:56:55 +0000 2016
        //装换成时间对象
        let dt = NSDateFormatter()
        //指定格式化方式
        //    dt.dateFormat = "EEE MMM dd HH:mm:ss z yyyy"
        //指定本地化信息  指定的时区
        dt.locale = NSLocale(localeIdentifier: "en_US")
        
        //判断年份
        if isThisYear(self) {
            
            //判断是是否为今天
            let calender = NSCalendar.currentCalendar()
            if calender.isDateInToday(self) {
                //今天
                //怎么计算发微博时间距离当前时间差是多少秒
                //                let timeinterval = abs(createAtDate.timeIntervalSinceDate(NSDate()))
                //                print(timeinterval)
                let timeinterval = abs(self.timeIntervalSinceNow)
                if timeinterval < 60 {
                    
                    //一分钟之前
                    return "刚刚"
                } else if timeinterval < 60 * 60 {
                    
                    //秒转化为分
                    let result = timeinterval / 60
                    return "\(Int(result))分钟前"
                    
                }else{
                    
                    //转化为小时
                    let result = timeinterval / 3600
                    return "\(Int(result))小时前"
                }
                
                
            } else if calender.isDateInYesterday(self){
                
                //昨天
                dt.dateFormat = "昨天 HH:mm"
                
            } else {
                //其他
                dt.dateFormat = "MM-dd HH:mm"
            }
            
            
        } else {
            //不是今年 格式
            dt.dateFormat = "yyyy-MM-dd HH:mm"
            
        }
        return dt.stringFromDate(self)
        
        
        
    }
    private func isThisYear(createDate: NSDate) -> Bool {
        
        let dt = NSDateFormatter()
        dt.dateFormat = "yyyy"
        //指定本土化信息
        dt.locale = NSLocale(localeIdentifier: "en_US")
        //把时间对象转化为字符串
        let createDateYear = dt.stringFromDate(createDate)
        //把当前时间转化为字符串
        let currentDateYear = dt.stringFromDate(NSDate())
        
        return createDateYear == currentDateYear
        
    }

}




extension NSDate {

    /*!
    *          发布微博时间跟我们当时的年份进行对比 判断是否是同一年
    *
    *          @since - paramater createDate: 发送微博时间
    */
   }
